package com.ruoyi.web.service.impl;

import java.util.List;
import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.web.mapper.DrugTargetMapper;
import com.ruoyi.web.domain.DrugTarget;
import com.ruoyi.web.service.IDrugTargetService;
import com.ruoyi.common.core.text.Convert;

/**
 * 药品靶点关联Service业务层处理
 * 
 * @author drx
 * @date 2025-05-16
 */
@Service
public class DrugTargetServiceImpl implements IDrugTargetService 
{
    @Autowired
    private DrugTargetMapper drugTargetMapper;

    /**
     * 查询药品靶点关联
     * 
     * @param id 药品靶点关联主键
     * @return 药品靶点关联
     */
    @Override
    public DrugTarget selectDrugTargetById(Long id)
    {
        return drugTargetMapper.selectDrugTargetById(id);
    }

    /**
     * 查询药品靶点关联列表
     * 
     * @param drugTarget 药品靶点关联
     * @return 药品靶点关联
     */
    @Override
    public List<DrugTarget> selectDrugTargetList(DrugTarget drugTarget)
    {
        return drugTargetMapper.selectDrugTargetList(drugTarget);
    }

    /**
     * 新增药品靶点关联
     * 
     * @param drugTarget 药品靶点关联
     * @return 结果
     */
    @Override
    public int insertDrugTarget(DrugTarget drugTarget)
    {
        drugTarget.setCreateTime(DateUtils.getNowDate());
        drugTarget.setCreateBy(ShiroUtils.getSysUser().getLoginName());
        return drugTargetMapper.insertDrugTarget(drugTarget);
    }

    /**
     * 修改药品靶点关联
     * 
     * @param drugTarget 药品靶点关联
     * @return 结果
     */
    @Override
    public int updateDrugTarget(DrugTarget drugTarget)
    {
        drugTarget.setUpdateTime(DateUtils.getNowDate());
        drugTarget.setUpdateBy(ShiroUtils.getSysUser().getLoginName());
        return drugTargetMapper.updateDrugTarget(drugTarget);
    }

    /**
     * 批量删除药品靶点关联
     * 
     * @param ids 需要删除的药品靶点关联主键
     * @return 结果
     */
    @Override
    public int deleteDrugTargetByIds(String ids)
    {
        return drugTargetMapper.deleteDrugTargetByIds(Convert.toStrArray(ids),ShiroUtils.getSysUser().getLoginName());
    }

    /**
     * 删除药品靶点关联信息
     * 
     * @param id 药品靶点关联主键
     * @return 结果
     */
    @Override
    public int deleteDrugTargetById(Long id)
    {
        return drugTargetMapper.deleteDrugTargetById(id,ShiroUtils.getSysUser().getLoginName());
    }
}
